package com.zmzncs.lmtc.module.shop.pojo.shop_order;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 商户-订单
 * </p>
 *
 * @author 高博文
 * @since 2021-05-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("shop_order")
@ApiModel(value="ShopOrder对象", description="商户-订单")
public class ShopOrder implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "客户Id")
    private Long customerId;

    @ApiModelProperty(value = "订单号")
    private String orderCode;

    @ApiModelProperty(value = "商户id")
    private Long shopId;

    @ApiModelProperty(value = "商品id")
    private Long goodsId;

    @ApiModelProperty(value = "数量")
    private Integer quantity;

    @ApiModelProperty(value = "优惠券id")
    private Long custTicketId;

    @ApiModelProperty(value = "停车场Id")
    private Long parkId;

    @ApiModelProperty(value = "应付金额")
    private BigDecimal payableAmount;

    @ApiModelProperty(value = "客户实付金额")
    private BigDecimal paidAmount;

    @ApiModelProperty(value = "平台分润（百分比）")
    private BigDecimal platformDivide;

    @ApiModelProperty(value = "停车场分润（百分比，在平台分润中再分润）")
    private BigDecimal parkDivide;

    @ApiModelProperty(value = "支付给商户的金额")
    private BigDecimal paidShopAmount;

    @ApiModelProperty(value = "支付给平台的金额")
    private BigDecimal paidPlatformAmount;

    @ApiModelProperty(value = "支付给停车场的金额")
    private BigDecimal paidParkAmount;

    @ApiModelProperty(value = "支付状态（0：待支付，1：已支付，2：取消支付，3：支付失败）")
    private Integer payStatus;

    @ApiModelProperty(value = "核销码")
    private String writeOffCode;

    @ApiModelProperty(value = "是否核销（0：否，1：是）")
    private Integer isWriteOff;

    @ApiModelProperty(value = "支付时间")
    private Date payTime;

    @ApiModelProperty(value = "退款时间")
    private Date refundTime;

    @ApiModelProperty(value = "核销时间")
    private Date writeOffTime;

    @ApiModelProperty(value = "核销人")
    private Long writeOffManagerId;

    @ApiModelProperty(value = "是否已打款到商户（0：否；1：是）")
    private Integer isPaidToShop;

    @ApiModelProperty(value = "是否已打款到停车场（0：否；1：是）")
    private Integer isPaidToPark;

    @ApiModelProperty(value = "给商户打款交易流水号")
    private String paidToShopTradeNo;

    @ApiModelProperty(value = "给停车场打款交易流水号")
    private String paidToParkTradeNo;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;


}
